package serializable;

import java.io.Serializable;
/**
* 实现了Serializable的类就可以被writeObject()写出去
* 序列化：把一个对象所有属性按照顺序依次往外写的过程
* 反序列化：把一个对象从外部按照顺序依次读回来的过程
* 
* 对象版本的概念
 */
public class Person implements Serializable{ // ci弱来则伯
	
	/**
	 * 生成对象的版本号,如果把此类对象写出去的时候的版本号和读它的版本号一致才能解析
	 */
	private static final long serialVersionUID = -4042245851941589820L;
	
	private int id;
	private String name;
	// transient [川森特]短暂的(持久化)，临时的,不会被序列化
	private transient char sex;
	
	public Person() {
		super();
	}

	public Person(int id, String name, char sex) {
		super();
		this.id = id;
		this.name = name;
		this.sex = sex;
	}
	
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public char getSex() {
		return sex;
	}

	public void setSex(char sex) {
		this.sex = sex;
	}

	@Override
	public String toString() {
		return "Person [id=" + id + ", name=" + name + ", sex=" + sex + "]";
	}
}
